﻿using BCCommon;
using BCDto.Chats;
using BCDto.Sim.Admin.Admin;
using BCDto.Website.User;
using System;
using System.Collections.Generic;
using System.Text;

namespace BCService
{
    /// <summary>
    /// 应用上下文。
    /// </summary>
    [NonInjection]
    public interface IApplicationContextService
    {
        /// <summary>
        /// 请求级别的服务容器。
        /// </summary>
        IServiceProvider RequestServices { get; }

        /// <summary>
        /// 获取当前登录的员工或员工。
        /// </summary>
        AdminDto Admin { get; }

        /// <summary>
        /// 获取当前登录的用户。
        /// </summary>
        UserDto User { get; }

        ///// <summary>
        ///// 获取当前登录的合作伙伴。
        ///// </summary>
        //PartnerDto Partner { get; }

        ///// <summary>
        ///// 获取当前用户的账套设置。
        ///// </summary>
        //SOBSettingDto SobSetting { get; }

        /// <summary>
        /// 获取当前登录的匿名用户。
        /// </summary>
        AnonymousDto Anonymous { get; }

        /// <summary>
        /// 获取用户真实的 IP 地址。
        /// </summary>
        string IPAddress { get; }
    }
}
